
#pragma once
#include "stdafx.h"
#include "WicBitmapSource.h"

class CLASS_DECLSPEC CWicBitmapFrameDecode : public CWicBitmapSource
{
    //==============================================================================
    // CWicBitmapFrameDecode
    //==============================================================================
private:
    CWicBitmapFrameDecode(IWICBitmapFrameDecode *pIBitmapFrame);

public:
    CWicBitmapFrameDecode(CWicBitmapDecoder*, UINT uIndex);
    CWicBitmapFrameDecode(CWicBitmapFrameDecode const &);
    virtual ~CWicBitmapFrameDecode(void);
    CWicBitmapFrameDecode& operator=(CWicBitmapFrameDecode const &);

    //==============================================================================
    // IWICBitmapFrameDecode
    //==============================================================================
public:
    virtual HRESULT GetMetadataQueryReader( 
        /* [out] */ __RPC__deref_out_opt IWICMetadataQueryReader **ppIMetadataQueryReader);

    virtual HRESULT GetColorContexts( 
        /* [in] */ UINT cCount,
        /* [size_is][unique][out][in] */ __RPC__inout_ecount_full_opt(cCount) IWICColorContext **ppIColorContexts,
        /* [out] */ __RPC__out UINT *pcActualCount);

    virtual HRESULT GetThumbnail( 
        /* [out] */ __RPC__deref_out_opt IWICBitmapSource **ppIThumbnail);

};

